package com.bqy.myokgo.utils;

import com.bqy.myokgo.base.manager.event.HttpEventNO;
import com.bqy.myokgo.base.manager.event.HttpEventOK;

/**
 * Created by 熊猫先生 on 2018/10/19.
 * 通用回调
 */
public interface OnAppListener {
    /**
     * 数据传递（适用于adapter 与 外部通信）
     */
    interface OnInteractionListener {
        /**
         * adapter回调
         */
        void onInteraction(int action, Object o);
    }

    /**
     * 数据传递 适用于(fragment 与 外部通信)
     */
    interface OnfragListener {
        public static final int ACTION_LOGIN_LOGINPASSWORD = 0;
        public static final int ACTION_LOGIN_LOGINDYNAMIC = 1;

        /**
         * fragment回调
         */
        void onFragmentCallback(int action, Object... o);
    }

    /**
     * 数据传递 适用于(View 与 外部通信)
     */
    interface OnViewChangeListener {
        public static final int ACTION_LOGIN_LOGINPASSWORD = 0;

        /**
         * view回调
         */
        void onCallback(int action, Object... o);
    }

    /**
     * 数据传递 适用于(View 与 外部通信)
     */
    interface OnHttpListener {

        void onHttpOK(HttpEventOK event);

        void onHttpNO(HttpEventNO event);
    }

    /**
     * 数据传递 适用于(Window 与 外部通信)
     */
    interface OnWindowListener {
        /**
         * view回调
         */
        void onCallback(int action, Object... o);
    }

    interface OnErrorListener {
        void onRetry();
    }

    /**
     * 分享回调
     */
    interface OnShareListener {
        void success();

        void error();

        void cancel();
    }

}
